import { Color } from "cc";

export class Utils {

    private static _inst: Utils;
    public static get inst(): Utils {
        if (this._inst == null) {
            this._inst = new Utils();
        }
        return this._inst;
    }

    getRandomInt(min: number, max: number): number {
        // Math.random() 生成 0 到 1 之间的随机数，不包括 1
        // 乘以 (max - min + 1) 是为了调整范围到所需的大小，+ min 是为了移动范围的起点
        // Math.floor() 向下取整，确保结果为整数
        return Math.floor(Math.random() * (max - min + 1) + min);
    }

    hexToCcColor(hex: string): Color {
        // 移除可能的'#'字符
        hex = hex.replace(/^#/, '');

        // 解析16进制颜色字符串
        const r = parseInt(hex.substring(0, 2), 16);
        const g = parseInt(hex.substring(2, 4), 16);
        const b = parseInt(hex.substring(4, 6), 16);

        // 创建并返回cc.Color对象
        return new Color(r, g, b);
    }

}